var uid = 0;
export default class Dep {
    constructor() {
        this.id = uid++;
        // 存放watcher的实例
        this.subscribes = [];
    };

    // 添加订阅
    addSub(sub) {
        this.subscribes.push(sub);
    }

    // 添加依赖
    depend() {
        if (Dep['target']) {
            this.addSub(Dep['target']);
        }
    }


    // 通知更新
    notify() {
        // 浅克隆一份
        const subs = this.subscribes.slice();
        subs.forEach((item, index) => {
            item.update()
        })
    }

}